package it.eg.managedcor.interfaces;

import it.eg.managedcor.impl.TaskExecutionResult;

/**
 * This interface must be implemented by tasks
 * composing a process.
 * 
 * @author Emanuele Gherardini
 *
 * @param <S> 
 */
public interface Task<S extends ProcessSessionData<? extends ProcessInput, ? extends ProcessOutput>> {
	
	TaskExecutionResult performTask(S sessionData);
	
}
